package com.ryder.petmatediarybackend.module.shop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ryder.petmatediarybackend.module.shop.dto.CreateProductCollectionDTO;
import com.ryder.petmatediarybackend.module.shop.entity.ShopProductCollection;
import com.ryder.petmatediarybackend.module.shop.vo.ProductCollectionVO;

import java.util.List;

/**
 * 描述: 店铺商品合集表（仅展示，不含交易）(ShopProductCollection)表服务接口
 * 
 * @author Ryder
 * @version 1.0
 * @since 1.0
 * 更新日期: 2025-10-31
 */
public interface ShopProductCollectionService extends IService<ShopProductCollection> {

    /**
     * 创建商品合集
     */
    ProductCollectionVO createProductCollection(Long userId, CreateProductCollectionDTO dto);

    /**
     * 获取我的店铺商品合集列表
     */
    List<ProductCollectionVO> getMyProductCollections(Long userId);

    /**
     * 更新商品合集
     */
    ProductCollectionVO updateProductCollection(Long userId, Long id, CreateProductCollectionDTO dto);

    /**
     * 删除商品合集
     */
    void deleteProductCollection(Long userId, Long id);

    /**
     * 上架/下架商品
     */
    void updateStatus(Long userId, Long id, Integer status);

    /**
     * 根据店铺ID获取商品合集列表（公开接口）
     */
    List<ProductCollectionVO> getByShopId(Long shopId);
}
